A number of different people or entities may desire to access information in databases. Various types of data may be important to a number of people such as, for example, sales data for a merchant, account information for a brokerage, bank, or credit card company, and/or the like. Organizing the large amounts of data that may exist, presenting the data in a predetermined, easy-to-use format, and facilitating various searches on the data is often desirable.
Data stored in a database may be organized into various fields, each of which stores an item of data. For example, a database may store account data, with an account number stored in one field, an account balance in another field, and various user identification information stored in other fields. In a relational database, there may be several tables storing related data, obviating the need for redundant data within a table. For example, in a single database, one table may store account data, such as an account number, account balance, and a social security number. Another table may contain sales data for all transactions by all account holders. A third table may contain user information, such as a name, address, and social security number, for each user. By joining the three tables in a single database, one can determine all the transactions performed by a certain account holder, and the name and address of that account holder, without having to store the name and address information for the user in each transaction.
When a user desires to view or analyze the data, the user may not want to view raw data. Instead, the user may desire to view the data in a more readable format, such as a spreadsheet-type format, for example. Such a format may be more readable because it only contains a selected number of the fields within the tables of the database. In addition, the data may be sorted to present the data in a manner more useful to the user. In addition, the user may only desire to view certain data. As such, a user may run a query on the database which is a request for certain data. A query contains a list of criteria that data must meet. For example, if a user wishes to view sales data for sales greater than $10,000, a query can be input that indicates such a limitation. The query is then executed and all the requested data is located and output to the user. The data may be presented to the user in various forms, such as a report. A report may contain the results of a query presented in a formatted output suitable for printing or otherwise displaying. A common method of querying databases is the use of Structured Query Language (“SQL”), available in products such as Microsoft SQL Server and MySQL.
Previously, such databases were only available for use by users at specific, predetermined locations. However, with the proliferation of the Internet and the corresponding worldwide networking of computers, it has become desirable to allow geographically diverse entities to access databases by using a traditional web browser interface or other custom interface, transmitting data via the Internet. However, previous methods and systems for providing such access suffered from a variety of drawbacks. For example, some systems provide a means for a secure connection; however, a user may be able to access the system by using other direct methods, which may not be desirable. In addition, troubleshooting the system may be difficult due to the varying configurations of the various possible configurations of user's computers. Furthermore, previous systems suffered from various drawbacks in the integration of querying and reporting. There is a desire for a more robust solution to remotely access databases that solves the problems described above. There is also a desire to provide a more robust front-end functionality to database interface programs.